Port configuration

ABSTRACT

Methods, computer readable media, and device embodiments are provided for port configuration. One method embodiment includes defining a number of ports for which a number of port configuration properties are to be configured, grouping the number of ports into one or more port configuration groups, and defining the number of port configuration properties to be configured within a particular port configuration group.

BACKGROUND

Computing systems can include multiple computing components such asservers, desktop PCs, laptops, and workstations, among other peripheraldevices, (e.g., printing devices, facsimile devices, and scanningdevices). In some systems, these components can be networked togetheracross a local area network (LAN) and/or wide area network (WAN). A LANand/or WAN uses clients and servers that have network-enabled operatingsystems such as Windows, Mac, Linux, and Unix.

An example of a client includes a user's workstation, among other typesof devices. Servers can hold programs and data that are shared by theclients in a computing network. Servers can come in a wide range ofcapacities and costs, from PC servers to mainframes. Peripherals, suchas a printing device, facsimile device, and/or scanning device can beattached locally to a workstation or to a server and be shared bynetwork users.

Data transfer between components over a network can be managed by atransport protocol such as Transmission Control Protocol/InternetProtocol (TCP/IP), among others. The Internet Protocol (IP) layer inTCP/IP contains a network address and allows messages to be routed to adifferent network or subnetwork (subnet). The physical transmission ofsuch data can be performed by an access method, typically via Ethernet,which can be provided on the motherboard or in the network adapter cards(NICs) plugged into the network devices. The actual communications pathcan be a twisted pair or optical fiber cable that interconnects eachnetwork adapter.

Network components can include Ethernet ports for home use, not just tocreate a small home network, but to connect to the Internet via a DSL orcable modem among other uses. An Ethernet port typically can supportboth 10BaseT at 10 megabits per second (Mbps) and 10BaseT at 100 Mbps,among other data transmission modes.

Network components in a LAN and/or WAN can include hardware components,such as trunk lines, switches, routers, hubs, servers, and databases.LANs and/or WANs can also include instructions such as software,application modules, firmware, and various other types of executableinstructions.

Network components such as switches, hubs, and routers, for example, areused to distribute and restrict traffic within workgroups of a network.Network components can also provide filtering of inter or intra networktraffic for security purposes and policy management. These sorts ofnetwork component functionality can also be incorporated into othercomponents within a network environment, such as a file server, a loadbalancing device, or other such network appliance.

Any number of network components, such as those mentioned above, may beincluded in a network. These network components will be generallyreferred to herein as network devices. When such network devices areadded to the network, the device typically has to be configured for usein the network environment.

This typically means configuring the software, firmware, and otherinstructions on the device to communicate with the other networkdevices. This configuration typically is accomplished by creating aconfiguration file for each device or port by typing in theconfiguration information into the file manually. Such configurationmethods may be time consuming, particularly for network administratorsthat do not add devices to their network often. They may also be errorprone since the user will type the configuration information in for eachdevice or port.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a communication network embodiment of the presentdisclosure.

FIG. 2 is an example of a number of port definition blocks that can beutilized in various embodiments of the present disclosure.

FIG. 3 is a block diagram illustrating of a method embodiment accordingto the present disclosure.

DETAILED DESCRIPTION

Embodiments of the present disclosure include systems, devices, methods,and computer readable media for configuring devices. For example, onesuch method embodiment includes defining a number of ports for which anumber of port configuration properties are to be configured, groupingthe number of ports into one or more port configuration groups, anddefining the number of port configuration properties to be configuredwithin a particular port configuration group.

Embodiments of the present disclosure and features thereof can beperformed by software, firmware, hardware, application modules, and thelike. These embodiments can use instructions resident on and/orexecutable by circuits, such as processors or application specificintegrated circuits, and can be used in devices and networks shownherein or otherwise.

The embodiments of the present disclosure are not limited to anyparticular operating environment or to instructions written in anyparticular programming language. Software, firmware, and/or processingmodules, suitable for carrying out embodiments of the presentdisclosure, can be resident on one or more devices in one or morelocations.

FIG. 1 illustrates a communication network embodiment of the presentdisclosure. As shown in FIG. 1, a number of devices (e.g., PCs, servers,peripherals, etc.), can be networked together into a computing devicenetwork 100 via a LAN and/or WAN via routers, hubs, switches, and thelike (referred to herein as “network devices”). FIG. 1 illustratesclients and servers in a LAN. For example, the embodiment of FIG. 1shows various servers for various types of service on a LAN. However,embodiments of the present disclosure are not so limited.

The example network of FIG. 1 illustrates a print server 110-1, a mailserver 110-2, a web server 110-3, a proxy server (e.g., firewall) 110-4,a database server 110-5, intranet server 110-6, an application server110-7, a file server 110-8, and a remote access server (e.g., dial up)110-9. Again, the examples provided here do not provide an exhaustivelist of devices that can be part of a network.

The embodiment of FIG. 1 further illustrates a network management server112 (e.g., a PC or workstation), a number of “fat” clients 114-1, . . ., 114-N which can also include PCs and workstations and/or laptops, anda number of “thin” clients 115-1, . . . , 115-M which can includeterminals and/or peripherals such as scanners, facsimile devices,handheld multifunction device, and the like. The designators “N” and “M”are used to indicate that a number of fat or thin clients can beattached to the network 100. The number that N represents can be thesame or different from the number represented by M.

As shown in FIG. 1, all of these example network devices can beconnected to one another and/or to other networks via routers, 116-1,116-2, 116-3, and 116-4, and hubs and/or switches 118-1, 118-2, 118-3,118-4, and 118-5. Embodiments of the disclosure, however, are notlimited to the number and/or type of network devices in FIG. 1'sillustration.

As one of ordinary skill in the art will appreciate, many of thesedevices include processor and memory hardware. By way of example and notby way of limitation, the network management server 112 can include aprocessor and memory. Similarly, the network devices of routers, 116-1,116-2, 116-3, and 116-4, and hubs and/or switches 118-1, 118-2, 118-3,118-4, and 118-5 may include processor and memory resources. Embodimentsof the disclosure are not limited to the number, type, or size ofprocessor and memory resources of the various devices in the network.

Instructions (e.g., computer executable instructions), as described inmore detail below, can reside on the various network devices. Forexample, computer executable instructions in the form of firmware,software, etc., can be resident on the network 100 in the memory of anetwork management server 112 and/or one or more routers, 116-1, 116-2,116-3, and 116-4, and hubs and/or switches 118-1, 118-2, 118-3, 118-4,and 118-5, and can be executable by the processor(s) thereon. As thereader will appreciate, instructions can be resident in a number oflocations on various network devices in the network 100 as employed in adistributed computing network.

As one of ordinary skill in the art will appreciate, each network devicein a network is associated with a port of a switch to which it isconnected. Data frames, or packets, can be transferred between networkdevices by means of a switch's logic link control (LLC)/media accesscontrol (MAC) circuitry, or “engines”, associated with each switch port.

The network switch passes data frames received from a transmittingnetwork device to a destination network device based, for example, onthe header information in the received data frame. The switch can alsolink a given network to other networks through one or morepre-designated switch ports.

Configuration files can be provided to the various network componentssuch as network devices 118-1, 118-2, 118-3, 118-4, and 118-5, amongothers, in various manners. For example, one or more configuration filescan be downloaded from the management station 112 over a wired and/orwireless network infrastructure.

In such instances, the network can employ a particular softwareinterface application to download the one or more files (e.g., aninitial and/or subsequent configuration) from the management station 112to respective memories among the various number and types of networkdevices illustrated in FIG. 1. This process can involve the use of amanagement utility as well as configuration and setup for both thehardware and software.

The management utility can be functional to manage some or all aspectsof the network. Information to be configured can include, for example,security settings (e.g., 802.1X enabled), media access control (MAC)address authorizations, virtual local area network (VLAN)authorizations, and link aggregation control protocol (LACP) enabled,etc. The port configuration utilities described herein can be used withany port configuration information that is to be used to configure aport.

The configuration of a device can be accomplished, for example, bydefining a number of ports for which a number of port configurationproperties are to be configured, grouping the number of ports into oneor more port configuration groups, and defining the number of portconfiguration properties to be configured within a particular portconfiguration group. In various embodiments, the number of ports, thenumber of ports in each group, the number of groups, and/or the numberof port configuration properties can be any suitable number.

In some embodiments, the defining of the number of ports for which anumber of port configuration properties are to be configured, thegrouping of the ports, and/or the defining of the number of portconfiguration properties can be accomplished via writing XMLinstructions. For example, the configuration instructions can beprovided in a script (e.g., a set of executable instructions) that canbe used to execute a process for configuring the ports.

In various embodiments, a user interface can be provided in which theuser can enter the instructions into the interface. In such embodiments,the device or system can include instructions to extract the informationentered into the user interface and facilitate the use of thatinformation in the port configuration process.

This can be accomplished in various manners. For example, the device orsystem can extract such information and use further instructions toperform the port configuration process. In some embodiments, the deviceor system can import the extracted information into a configurationscript (e.g., program) that can be executed to perform the portconfiguration process.

The port configuration properties can be one or more of the items ofinformation described above. As discussed above, this information can beprovided through user input or via a database having such informationtherein.

Grouping the number of ports can, for example, include grouping basedupon a number of various characteristics of the number of ports. Forexample, in some embodiments, group can be accomplished bycharacteristics that are common between two or more ports (e.g., portshave a speed of 1,000 megabits per second (Mbps)).

In some embodiments, grouping can be accomplished by a number ofcharacteristics (e.g., ports have a speed of 100 or 1,000 Mbps). Invarious embodiments, grouping can be accomplished by the numbersassigned to the ports (e.g., ports 1-100 or ports 3, 14, 35, 240, 699,etc.) or ports of one or more devices (e.g., ports on switch A).

Grouping can be determined by media type (e.g., ports connected bycopper or fiber connections), in some embodiments. In variousembodiments, a default instruction can be used to configure any devicesnot grouped in another way.

An all instruction can also be used, in some embodiments, to configureall devices with one or more port configuration properties. In someembodiments, several of these or other grouping statements can be usedtogether define a number of different groups to be configured or anumber of different properties can be defined for each group. Throughuse of such instructions, in various embodiments, for example, a firstconfiguration property to be configured on all ports in a first groupand a second configuration property to be configured on a subset of thefirst group can be defined.

Such embodiments can have ports that are included in more than one group(e.g., some 1,000 Mbps ports are also connect via copper connection andtherefore, the properties to be configured from each group can beapplied to this port). In such embodiments, the configuration can occurin various suitable manner with respect to maintaining or overwritingproperties that have already bee configured with respect to a particularport. For example, in some embodiments, a first property to be providedcan be maintained as subsequent configurations for groups are performedwith respect to that port.

In various embodiments, the first property can be overwritten assubsequent configurations for groups are performed with respect to thatport. Further, in some embodiments, the overwriting or maintaining of aproperty can be accomplished based upon a condition (e.g., overwrite ifport is 1,000 Mbps and copper connected).

As discussed above, in some embodiments, the number of portconfiguration properties to be configured on each device within one ormore port configuration groups can be defined to include a firstconfiguration property to be configured on ports of a first group and asecond configuration property to be configured on ports of a secondgroup. Examples of such embodiments, can provide a first and secondconfiguration property that are the same, such as a security setting, ora first and second configuration property that are different, such as asecurity setting and an item of VLAN authorization information.

In some embodiments, a first configuration property to be configured ona first group and a second configuration property to be configured onthe first group can be defined. As applied to such examples of how thefirst and second configuration properties can be utilized, inembodiments where a first and second properties are both provided to thefirst group, if the properties are both security settings, then thesetting can be maintained or overwritten as described above. If thefirst and second properties are different, then each item can be addedto the configuration of the port (e.g., a security setting and an itemof VLAN authorization information.

And, in some embodiments, a first configuration property (e.g., securitysetting) to be configured on a first group and a second configurationproperty (e.g., an item of VLAN information) to be configured on thefirst group and a second group can be defined. Accordingly, in such anexample, the first group would have a security setting and an item ofVLAN information configured for the ports of the first group and theports of the second group would be configured with an item of VLANinformation, but no security setting.

As mentioned previously, one or more of the functions described hereincan, in some embodiments, be accomplished through use of a userinterface. For example, the grouping of the number of ports can includegrouping via a user interface. Further, in some embodiments, definingthe number of ports for which a number of port configuration propertiesare to be configured can be accomplished via a user interface. A userinterface can be of any type, such as an interface having a number ofblanks to be filled in by a user, or a text box for a user to writeinstructions therein.

In such embodiments, extraction and/or translation instructions can beprovided to extract the information regarding the configuration of thenumber of ports. This information can be provided to configurationprograms (e.g., scripts) or the defined configuration properties can betranslated into a number of configuration property statements that cancommunicate the configuration properties in an understandable manner toa number of different device types. In such embodiments, the translationcan allow a general user interface to be utilized in a number of contextin which the entries by a user may not be understood by theconfiguration instructions when initially entered by the user, but aftertranslation, may be understood by the configuration instructions.

In various embodiments, the device or system can include instructionsfor grouping a number of ports for which a number of port configurationproperties are to be configured into one or more port configurationgroups, defining the number of port configuration properties to beconfigured on each device within one or more port configuration groups,and configuring each of the number of ports according to the definednumber of port configuration properties.

In some embodiments, the device or system can include instructions forstoring configured port configuration properties for a configured portin a configuration file (e.g., a set of executable instructionsproviding in one of a number of suitable formats that can be utilized bya computing device or system in the configuring of the number of ports.In various embodiments, at least one port configuration property in theport configuration file can be altered. For example, a template file canbe provided and the template values (e.g., default values or old values)can be altered with the properties provided, for instance, by the userabove.

In various embodiments, a configuration device can include, for example,a processor and memory having a number of instructions that areexecutable by the processor. The configuration device can be a systemmanagement station or other network device.

In some embodiments, the memory can include instructions for a varietyof functions provided by the network, the network management station,and/or the computing device on which the instructions reside. Theinstructions provided can include instructions executable to manageimplement the functionality described herein with respect to configuringdevices.

With respect to various configuration device embodiments, typicallyconfiguration devices, such as management stations and the like caninclude one or more processors and memory having a number ofinstructions that are executable by the processor. In some suchembodiments, the instructions provided to define a number of ports forwhich a number of port configuration properties are to be configured,group the number of ports into one or more port configuration groups,define the number of port configuration properties to be configured,select each of the number of ports within a particular portconfiguration group, and configure each selected port according to thedefined number of port configuration properties. In some embodiments,the device can include one or more of the other instructions discussedherein to facilitate the configuration of the ports of the device and/orsystem.

FIG. 2 is an example of a number of port definition blocks that can beutilized in various embodiments of the present disclosure. In theembodiment illustrated in FIG. 2, the embodiment includes a scripthaving a number of port definition blocks.

The script begins with a first opening statement 220<PortDefRange=“All”>. This statement is an instruction that is designed toconfigure all ports (e.g., a group that includes all of the ports). Thisstatement defines the ports that are to be configured and defines one ofthe groups into which the ports are to be organized.

The “All” designation 222 is the portion of the instruction in theembodiment illustrated in FIG. 2 that defines the group. Provided belowthe first opening statement are a number of port configurationproperties that are to be configured on the defined number of portswithin the first group (i.e., all ports).

In the embodiment of FIG. 2, the port configuration properties 224 are asecurity setting “Enable 802.1X” and an LACP item indicating “No LACP”.Accordingly, when the configuration process configures all ports, theseproperties will be configured for each port (e.g., in the port'sconfiguration file). This first statement include a first end statementof <\PortDef>.

A second statement is provided below the first statement and begins withthe second opening statement <PortDef Range=“Speed=“100, 1000”>. Thisstatement indicates that the port configuration properties providedbelow the second opening statement (and above the second end statement<\PortDef>) are to be configured on ports having speeds of either 100 or1000. As is shown with the respect to the first opening statement, inthe position where “port configuration properties” is provided, a numberof port configuration properties can be substituted therein.

A third statement is provided below the second statement and begins withthe third opening statement <PortDef Range=”M1(1-3), M2(1,2), M3(1)>.This statement indicates that the port configuration properties providedbelow the third opening statement (and above the third end statement<\PortDef>) are to be configured on ports 1 through 3 on module 1, ports1 and 2 on module 2, and port 1 on module 1. As is shown with respect tothe second opening statement, in the position where “port configurationproperties” is provided, a number of port configuration properties canbe substituted therein.

A fourth statement is provided below the third statement and begins withthe fourth opening statement <PortDef Range=“All” Media=“Fiber”>. Thisstatement indicates that the port configuration properties providedbelow the fourth opening statement (and above the fourth end statement<\PortDef>) are to be configured on all ports having a fiber connectiontype. As is shown with respect to the third opening statement, in theposition where “port configuration properties” is provided, a number ofport configuration properties can be substituted therein.

In some embodiments, as described above, the configuration instructionscan configure the ports according to the first statement, then configurethe ports according to the second statement, then configure the portsaccording to the third statement, and lastly, configure the portsaccording to the fourth statement. The order of configuration is notlimited to a first statement to fourth statement arrangement and,therefore, in some embodiments, the order can be designed to be anysuitable order, however. Further, the configuration instructions can bedesigned to overwrite or maintain configured properties, in manysuitable manners, as discussed above.

FIG. 3 is a block diagram illustrating of a method embodiment accordingto the present disclosure. As illustrated at block 330 the method ofFIG. 3 includes defining a number of ports for which a number of portconfiguration properties are to be configured.

The methods discussed herein can be performed by software, applicationmodules, and/or executable instructions operable on the systems and/ordevices shown herein or otherwise. The embodiments, however, are notlimited to any particular operating environment or to software writtenin a particular programming language. Software, application modulesand/or computer executable instructions, suitable for carrying outembodiments of the present invention, can be resident in one or moredevices or locations or in several and even many locations.

Unless explicitly stated, the method embodiments described herein arenot constrained to a particular order or sequence. Additionally, some ofthe described method embodiments can occur or be performed at the samepoint in time.

As shown at block 332, the method of FIG. 3 also includes grouping thenumber of ports into one or more port configuration groups. The methodof FIG. 3 also includes defining the number of port configurationproperties to be configured within a particular port configurationgroup, at block 354.

Although specific embodiments have been illustrated and describedherein, those of ordinary skill in the art will appreciate that anarrangement calculated to achieve the same techniques can be substitutedfor the specific embodiments shown. This disclosure is intended to coverall adaptations or variations of various embodiments of the presentdisclosure.

It is to be understood that the above description has been made in anillustrative fashion, and not a restrictive one. Combination of theabove embodiments, and other embodiments not specifically describedherein will be apparent to those of skill in the art upon reviewing theabove description.

The scope of the various embodiments of the present disclosure includesother applications in which the above structures and methods are used.Therefore, the scope of various embodiments of the present disclosureshould be determined with reference to the appended claims, along withthe full range of equivalents to which such claims are entitled.

In the foregoing Detailed Description, various features are groupedtogether in a single embodiment for the purpose of streamlining thedisclosure. This method of disclosure is not to be interpreted asreflecting an intention that the embodiments of the present disclosurerequire more features than are expressly recited in each claim.

Rather, as the following claims reflect, inventive subject matter liesin less than all features of a single disclosed embodiment. Thus, thefollowing claims are hereby incorporated into the Detailed Description,with each claim standing on its own as a separate embodiment.

1. A method comprising: defining a number of ports for which a number ofport configuration properties are to be configured; grouping the numberof ports into one or more port configuration groups using a singleconfiguration script including XML instructions that group the number ofports according to characteristics of the number of ports, wherein theone or more port configuration groups include ports on a plurality ofnetwork devices; defining port configuration properties to be configuredwithin a particular port configuration group; and executing the singleconfiguration script using a computing device having a processor andmemory hardware to configure the ports within each port configurationgroup with the defined port configuration properties by translating thesingle configuration script into a number of configuration propertystatements that communicate the single configuration script in anunderstandable manner to each of the plurality of network devicesrespectively and deploying the single configuration script to theplurality of network devices.
 2. The method of claim 1, wherein groupingthe number of ports includes grouping based upon a port function type.3. The method of claim 1, wherein grouping the number of ports includesgrouping based upon a speed.
 4. The method of claim 1, wherein groupingthe number of ports includes grouping based upon a media type.
 5. Themethod of claim 1, wherein grouping the number of ports includesgrouping based upon an association with a network device.
 6. The methodof claim 1, wherein grouping the number of ports includes grouping, viaa user interface, the number of ports into one or more portconfiguration groups.
 7. The method of claim 1, wherein the methodincludes defining, via a user interface, the number of ports for which anumber of port configuration properties are to be configured.
 8. Anon-transitory computer readable storage medium encoded with a pluralityof instructions for causing a device to perform a method comprising:grouping a number of ports for which port configuration properties areto be configured into one or more port configuration groups using asingle configuration script including XML instructions that group thenumber of ports according to characteristics of the number of ports,wherein the one or more port configuration groups include ports on aplurality of network devices; defining port configuration properties tobe configured on each device within one or more port configurationgroups,; and executing the single configuration script to configure eachof the number of ports according to the defined port configurationproperties by translating the single configuration script into a numberof configuration property statements that communicate the singleconfiguration script in an understandable manner to each of theplurality of network devices respectively and deploying the singleconfiguration script to the plurality of network devices.
 9. The mediumof claim 8, wherein the method includes: storing configured portconfiguration properties for a configured port in a configuration file;and altering at least one port configuration property in the portconfiguration file.
 10. The medium of claim 8, wherein the methodincludes grouping the number of ports based upon a port number.
 11. Themedium of claim 10, wherein defining the number of port configurationproperties to be configured on each device within one or more portconfiguration groups includes defining a first configuration property tobe configured on ports of a first group and a second configurationproperty to be configured on ports of a second group.
 12. The medium ofclaim 8, wherein defining the number of port configuration properties tobe configured on each device within one or more port configurationgroups includes defining a first configuration property to he configuredon a first group and a second configuration property to be configured onthe first group.
 13. The medium of claim 8, wherein defining the numberof port configuration properties to be configured on each device withinone or more port configuration groups includes defining a firstconfiguration property to be configured on a first group and a secondconfiguration property to be configured on the first group and a secondgroup.
 14. The medium of claim 8, wherein defining the number of portconfiguration properties to be configured on each device within one ormore port configuration groups includes defining a first configurationproperty to be configured on all ports in a first group and a secondconfiguration property to be configured on a subset of the first group.15. The medium of claim 14, wherein the second configuration propertychanges the configuration made by the first configuration property. 16.The medium of claim 8, wherein the method includes grouping the numberof ports in a number of ranges of port numbers.
 17. A configurationdevice comprising: a processor; memory having a number of instructionsthat are executable by the processor, the instructions provided to:define a number of ports for which port configuration properties are tobe configured; group the number of ports into one or more portconfiguration groups using a single configuration script including XMLinstructions that group the number of ports according to characteristicsof the number of ports, wherein the one or more port configurationgroups include ports on a plurality of network devices; define portconfiguration properties to be configured; select each of the number ofports within a particular port configuration group; and execute thesingle configuration script using the configuration device to configureeach selected port according to the defined port configurationproperties by translating the single configuration script into a numberof configuration property statements that communicate the singleconfiguration script in an understandable manner to each of theplurality of network devices respectively and deploying the singleconfiguration script to the plurality of network devices.
 18. The deviceof claim 17, wherein instructions provided to configure each selectedport according to the defined number of port configuration propertiesinclude instructions to configure a number of selected ports on one ormore other devices.